모의해킹
호스트기반모의해킹_31_리눅스 권한 상승
작성자 : Heehyeon Yoo|2025-12-11
# 모의해킹# Post-Exploitation# Linux# Privilege Escalation# Hardcoded Credentials
1. 개요
리눅스 권한 상승(Privilege Escalation)은 초기 침투로 얻은 일반 사용자(Low Privilege User) 권한을 이용해 더 높은 권한(Root, Service Admin 등)을 획득하는 과정이다.
앞서 '정보 수집' 단계에서 찾아낸 단서들을 실제로 악용(Exploit)하는 단계다.
2. 하드코딩된 계정 정보 악용(Hardcoded Credentials)
개발자나 관리자가 편의를 위해 소스 코드나 설정 파일에 아이디(ID)와 비밀번호(Password)를 평문(Plain Text)으로 저장해 두는 실수를 노린다.
2.1 주요 타겟 및 탐색
- 웹 애플리케이션 설정 파일:
- 가장 흔한 케이스. DB 접속 정보가 포함된 파일을 찾는다.
- 경로 예시:
/var/www/html/,/opt/webapp/ - 파일명 예시:
config.php,wp-config.php,settings.py,database.yml - 탐색(Manual):
ls -R /var/www/html명령어로 디렉토리를 뒤지며 의심스러운 파일명(config,db,connect등)을 찾는다.
- 시스템 설정 파일:
/etc/디렉토리 내의.conf파일들을 전수 조사한다.grep을 활용하여 효율적으로 검색하는 것이 중요하다.
2.2 Grep을 이용한 정밀 탐색(실습)
단순 눈으로 찾는 것은 비효율적이다. grep 명령어로 파일 내부의 특정 키워드(password, user, db, aws 등)를 검색하여 계정 정보를 추출한다.
# Web Root 디렉토리에서 'password' 문자열이 포함된 모든 파일 찾기
grep -ri "password" /var/www/html/ 2>/dev/null
# /etc 디렉토리 하위의 .conf 파일 중 'user' 문자열 찾기
grep -ri "user" /etc/*.conf 2>/dev/null
# 검색 결과를 파일로 저장하여 분석(Exfiltration 준비)
grep -ri "db" /var/www/html/ > ~/db_info.txt
-r: 하위 디렉토리까지 재귀적(Recursive) 검색.-i: 대소문자 무시(Ignore Case, Password/PASSWORD 모두 검색).2>/dev/null: 권한 거부(Permission Denied) 에러 메시지는 출력하지 않아 결과를 깔끔하게 본다.
2.3 발견된 정보 활용: 패스워드 재사용(Password Recycling)
정보 수집으로 DB 계정(dbadmin / P@ssw0rd123)을 찾았다고 가정해보자. 공격자는 이를 어떻게 활용할까?
- DB 접속: 발견된 계정으로 MySQL 등에 접속하여 고객 정보를 탈취한다.
- 시스템 계정 로그인(Critical):
- 사용자들은 *비밀번호를 재사용(Recycling)*하는 경향이 매우 강하다.
- "DB 비밀번호가 곧 시스템 계정(
root또는dbadmin유저)의 비밀번호일 것이다"라는 가설을 세운다. - SSH 시도:
ssh dbadmin@[Target_IP] # Password: P@ssw0rd123(찾아낸 DB 비밀번호 입력) - 성공 시, 일반 웹 유저(
www-data)에서 시스템 유저(dbadmin)로 권한 상승에 성공하게 된다.
3. 환경 변수 악용(Environment Variables)
- 개요: 클라우드(AWS)나 컨테이너 환경에서는 API Key를 환경 변수로 주입하는 경우가 많다.
- 확인:
env printenv export - 시나리오:
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY가 노출된 경우, 이를 이용해 클라우드 인프라 자체를 장악하거나 S3 버킷의 중요 데이터를 탈취할 수 있다.